使用RewriteRule使路径工作

时间:2016-10-25 16:31:08

标签: php apache .htaccess mod-rewrite url-rewriting

我在Apache上运行一个网站。为了友好的网址,我使用带有RewriteRule的.htaccess文件,如下所示:

RewriteRule ^news/([^/]+) /newsarticles.php?pagenumber=$1 [NC,L]

这使得link / news / 3导致http://example.org/newsarticles.php?pagenumber=3

但是现在我有了不同语言的路径,如何使用位于该路径文件夹中的单独的.htaccess文件使该路径以相同的方式工作?

例如,我想/ de / news / 3导致http://example.org/de/newsarticles.php?pagenumber=3

我尝试了以下方法,但它没有用。

RewriteRule ^de/news/([^/]+) /de/newsarticles.php?pagenumber=$1 [NC,L]

1 个答案:

答案 0 :(得分:0)

您可以使用相同的htaccess文件。您不需要在该目录中显式地拥有一个。以这种方式尝试你的规则。

Options -MultiViews
RewriteEngine on

#ignore real files and directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^de/news/([^/]+)/? /de/newsarticles.php?pagenumber=$1 [NC,L]
RewriteRule ^news/([^/]+)/? /newsarticles.php?pagenumber=$1 [NC,L]