【问题标题】:Problem with dynamic URL rewrite with .htaccess使用 .htaccess 重写动态 URL 的问题
【发布时间】:2020-01-30 02:58:49
【问题描述】:

我花了几个小时从带有 .htaccess 的动态 URL 中获取静态 URL 如果我得到想要的 URL,我也会得到 404 错误。

动态 URL 是 EN/section.php?lang=$1&url=$2 我写过 ^(.*)/(.*)$ 但它不起作用。这适用于像^language-(.*)/(.*)$ 这样的前缀,然后我得到像 domain/language-en/some-section 这样的 URL,它可以工作,但它不是想要的 URL

RewriteRule ^(.*)/(.*)$ EN/section.php?lang=$1&url=$2 [L]

我希望 URL 像 domain/en/some-section 而不是像 domain/language-en/some-section 这样的 URL。

【问题讨论】:

  • (.) 匹配任何单个字符。 (.*) 匹配一个或多个字符。

标签: php apache .htaccess url-rewriting


【解决方案1】:

解决了!!!

RewriteRule ^/?([a-z]+)/(.*)$ EN/section.php?lang=$1&url=$2 [L]

RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]

因为在重写 URL 后,我丢失了所有图片、CSS、javascript 等...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-09
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多