Back to Question Center
0

મીઠોલ્ટ: ચોક્કસ ફાઇલનામ માળખાને અનુરૂપ ન હોય તેવી ડિરેક્ટરીમાં હું કઈ ફાઇલોને રીડાયરેક્ટ કરી શકું?

1 answers:

મારા પાસે એક વેબસાઇટ છે જ્યાં અગાઉના વિકાસકર્તાએ ઘણા વેબપૃષ્ઠો અપડેટ કર્યા છે. સમસ્યા એ છે કે વિકાસકર્તાએ દરેક નવા વેબપૃષ્ઠને નવા ફાઇલનામો સાથે બનાવ્યું છે, અને જૂના ફાઇલનામોને કાઢી નાખ્યાં છે. મેં સાથે કામ કર્યું છે. થોડા મહિના માટે htaccess પુનઃદિશામાન, અને ઉપયોગ અમુક સમજ છે, જો કે, હું આ કાર્ય સાથે સ્ટમ્પ્ડ છું - package holidays to south america.

જૂનાં પેજીસની જેમ નામ આપવામાં આવ્યું હતું:

     www. ડોમેન. tld / subdir / ફાઇલ. html    

નવા પૃષ્ઠો નામ આપવામાં આવે છે:

     www. ડોમેન. tld / subdir / file-new-name. html    

તમામ નવી ફાઇલોનો પહેલો શબ્દ જૂની ફાઇલનું ચોક્કસ નામ છે, અને બધી નવી ફાઇલોમાં છેલ્લી 2 શબ્દો છે.

     www. ડોમેન. tld / subdir / file1- નવું નામ. html
www. ડોમેન. tld / subdir / file2-new-name. html
www. ડોમેન. tld / subdir / file3- નવું નામ. html
ect.     

અમે પણ યુઆરએલ ઍક્સેસ કરવાનો પ્રયત્ન કરવાની જરૂર છે:

     www. ડોમેન. ટીલ્ડ / સબિડિર /    

નવી ફાઇલો ગૂગલ દ્વારા અનુક્રમિત કરવામાં આવી છે (જૂના યુઆરએલ 404 ને કારણ છે, અને નવી રીડાયરેક્ટની જરૂર છે જેથી ગૂગલ મૈત્રીપૂર્ણ હશે), અને ક્લાયન્ટ નવા ફાઇલનામોને રાખવા માંગે છે કારણ કે તે વધુ વર્ણનાત્મક છે. મેં સફળતા વગર ઘણી રીતે તેને રીડાયરેક્ટ કરવાનો પ્રયાસ કર્યો છે, પણ મને તે દર્શાવશે કે મને સૌથી વધુ સ્ટમ્પ

     રીવ્યૂટેબલ /
પુનઃલેખન% {THE_REQUEST}! ^ Subdir /. * \ - નવું \ -નામ \. html
પુનઃલેખન% {THE_REQUEST}! ^ Subdir / $
રીવાઇટ રાયલ ↑ ઉપડીર / (. *) \. html $ http: // www. ડોમેન. tld / subdir / $ 1 \ -new \ -name \. html [R = 301, NC]    

મુલાકાત વખતે www. ડોમેન. tld / subdir / file1. બ્રાઉઝરમાં html , આનાથી 403 ફોરબિડન એરર ને url ની જેમ આવું બને છે:

     www. ડોમેન. tld / subdir / file1-new-name-new-name-new-name-new-name-new-name-new-name-new-name-new-name-new-name-new-name-new-name- નવું નામ-નવું નામ. html    

મને ખાતરી છે કે તે કદાચ કંઈક સરળ છે જે હું નિહાળી રહ્યો છું, કોઈની મને યોગ્ય રીડાયરેક્ટ કરવામાં સહાય કરી શકે છે? અગાઉથી ખૂબ આભાર!

સંપાદિત કરો

મને જુદા જુદા ફાઇલનામો પણ જુદા જુદા દસ્તાવેજો પર સાચવવામાં આવ્યા છે, જો તેમને નીચેના ઉદાહરણની જેમ સેટ કરવાની જરૂર હોય તો:

     (ફાઇલ (1 | 2 | 3 | 4 | 5) | પાનું (1 | 2 | 3 | 4 | 5) | એ (એલ (લો | લોર્ડ | ટેર) | કેપ્ટ)    
February 12, 2018

તમારે તમારી રીવ્રીટકોન્ડ રેખાઓમાંથી કૅરેટ દૂર કરવાની જરૂર છે:

  રીવ્યુટેબલ /
પુનઃલેખન% {THE_REQUEST}! ઉપડિર /. * \ - નવું \ -નામ \. html
રીવાઇટ રાયલ ↑ ઉપડીર / (. *) \. html $ http: // www. ડોમેન. tld / subdir / $ 1 \ -new \ -name \. html [R = 301, NC] 

ફરીથી લખવાની શરતો પછી પ્રભાવમાં આવશે અને તમે અનંત રીડાયરેક્ટ લુપને દૂર કરશો. આ જરૂરી છે કારણ કે તમારી જૂની પુનર્લેખન શરત અસર નહીં કરે.

તમારું મૂળ પુનર્લેખન% {THE_REQUEST}! ^ Subdir /. * \ - નવું \ -નામ \. html નિયમ કહે છે "જો વિનંતી સ્ટ્રિંગથી શરૂ થતી નથી" ઉપડીર ". પરંતુ % {THE_REQUEST} વેરિયેબલમાં સંપૂર્ણ HTTP વિનંતી છે, જે "GET / subdir / file" જેવી લાગે છે. html HTTP / 1. 1 ". તે ક્યારેય નહીં "ઉપડીર" થી શરૂ થશે, કારણ કે તે હંમેશા "GET" થી શરૂ થાય છે.

એક વૈકલ્પિક ઉપડિરેક્ટરી નામ માટે અગ્રણી સ્લેશ સાથે% {REQUEST_URI} નો ઉપયોગ કરવો હશે:

  પુનર્લેખન એન્જીન ઑન
રીવ્યૂટેઝ /
રીવૉર્ટકોન્ડ% {REQUEST_URI}! ^ / સબડિર /. * \ - નવું \ -નામ \. html
પુનઃલેખન% {REQUEST_URI}! ^ / સબડિર / $
રીવાઇટ રાયલ ↑ ઉપડીર / (. *) \. html $ http: // todoodlist. com / subdir / $ 1 \ -new \ -name \. html [NC, R = 301]