簡體   English   中英

.htaccess 301重定向和查詢字符串

[英].htaccess 301 redirect and query string

我無法讓正則表達式在htaccess中正常工作,我需要使用以下網址:

http://example.com/p/anything.aspx?id=1

並將其重定向到:

http://example.com/-/anything/1

我可以將其重定向到以下內容,但不能將其刪除?id =

http://example.com/-/anything/?id=1

我已經在regexr.com上測試了一些正則表達式,它們在那兒工作正常,但是當我必須將其實際放入.htaccess時,它不起作用。 您可以提供的任何幫助都將是驚人的! 我可能會缺少一些小而愚蠢的東西,只是htaccess中的正則表達式沒有那么好。

的.htaccess

RewriteEngine On
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]
RewriteRule ^p/([^\.]+)[\?&](\w+)=(\w+) /-/example/$3 [L,R=301]

您必須檢查%{QUERY_STRING}才能捕獲?id=xxx
另外,我優化了您的代碼,現在您可以用此代碼替換當前代碼

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L,QSA]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ /$1.php [L]

RewriteCond %{QUERY_STRING} ^id=([1-9][0-9]*)$ [NC]
RewriteRule ^p/(.+)\.aspx$ /-/$1/%1? [R=301,L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM