簡體   English   中英

htaccess重寫正則表達式問題

[英]htaccess rewrite regex issue

我當前的網址是:

http://www.domain.com/param1/ID

但是我需要以下URL來顯示當前URL的內容:

http://www.domain.com/param2/param1/ID-page-name

因此,當加載具有該URL的頁面時:

http://www.domain.com/param2/param1/ID-page-name

該網址的內容應顯示:

http://www.domain.com/param1/ID

基本上去除了param2page-name

以下代碼在htaccess文件中不起作用:

RewriteCond %{REQUEST_URI} ^/([^/]*)/param1/([^/]*)
RewriteRule ^/([^/]*)/param1/([^/]*)$ /param1/$2

請幫忙。

編輯 :看起來這行RewriteEngine On導致500服務器錯誤。 不知道那會是什么。 httpd.conf啟用了ModRewrite

編輯2 :我當前的htaccess文件:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
</IfModule>
<IfModule mod_headers.c>
    <FilesMatch "\.(jpg|jpeg|png|gif|swf|ico)$">
        Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
</IfModule>

redirect /url1 http://www.domain.com/url2


#RewriteEngine On

當我取消注釋最后一行RewriteEngine On -發生500錯誤。

嘗試:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^/]+/([^/]+)/([^-]+)- /$1/$2 [L]

這應該工作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/param1/([0-9]+)-(.*)$ /param1/$2 [L]

暫無
暫無

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

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