Back to Question Center
0

Semalt: .htaccess url تغییر مسیر بدون درهم و برهم زدن

1 answers:

در htaccess من برخی URL های بازنویسی مثل این را دارم:

     RewriteRule ^ first-page $ / subdir / page. php id_page = 1 [QSA، L]
RewriteRule ^ second-page $ / subdir / page. php id_page = 2 [QSA، L]
RewriteRule ^ سوم صفحه $ / subdir / page. php؟ id_page = 161 [QSA، L]    

بنابراین نتیجه نهایی است: www. وب سایت من - we like a party. com / subdir / صفحه اول

حالا می خواهم این را به www تبدیل کنم. وب سایت من. com / subdir / first-page /

بدون www. وب سایت من. com / subdir / first-page دادن یک خطای 404.

من سعی کردم این کد را پس از URL بازنویسی، اما کار نمی کند:

     RewriteCond٪ {REQUEST_FILENAME}! -f
RewriteCond٪ {REQUEST_URI}! (. *) / $
RewriteRule ^ (. *) $ 1 / [L، R = 301]    

هر گونه پیشنهاد؟ شما خیلی سمیده.

February 13, 2018
. php id_page = 1 [QSA، L] RewriteRule ^ دومین صفحه / $ / subdir / page. php id_page = 2 [QSA، L] RewriteRule ^ سوم صفحه / $ / زیر شاخه / صفحه. php؟ id_page = 161 [QSA، L]

یا

  RewriteRule ^ اولین صفحه / subdir / صفحه. php id_page = 1 [QSA، L]
RewriteRule ^ دومین صفحه / subdir / صفحه. php id_page = 2 [QSA، L]
RewriteRule ^ صفحه سوم / subdir / صفحه. php؟ id_page = 161 [QSA، L] 

شخصیت $ به Apache می گوید که این پایان رشته است و شخصیت های بیشتری انتظار نمی رود. بنابراین شما باید آن را بپذیرید تا اسلش را در انتهای رشته بپذیرید یا فقط برای هر کاراکتر اضافی آماده باشید. شما می توانید از استفاده کنید؟ پرچم برای ایجاد علامت گذر قرمز لازم نیست، اما پذیرفته شده در صورت وجود، e php id_page = 1 [QSA، L]

بنابراین این اجازه نمی دهد هر شخصیت دیگری به جز اسلش.

امیدوارم این کمک کند.