Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Napisanie nowej reguły przepisywania URL
Imrahil
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Witam,
jest strona xyz.pl na której stosowane jest przepisywanie adresów URL na przyjazne Google.

Jest taka podstrona xyz.pl/koncerty.html i na tejże podstronie generowane są linki do szczegółów poszczególnych wydarzeń, które otwierają się jako nowa podstrona (dzieje się to automatycznie w ramach wtyczki MF Gig Calendar).

Problem z tymi generowanymi podstronami jest taki, że one nie posiadają przyjaznych adresów, np. xyz.pl/koncerty.html?event_id=12

Czy moglibyście mi pomóc napisać nową regułę, która przepisze te generowane URL na przyjazne (wracając do powyższego przykładu, np. na xyz.pl/koncerty/wydarzenie-12.html? Podobnie sytuacja wygląda w przypadku archiwów koncertów.

Pozdrawiam smile.gif
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W necie jest cała masa kursow, po polsku, za darmo, gdzie opisane jest to co chcesz zrobic. Zajrzał choć do jednego? Czy może Twoj post sluzy jedynie do spamowania swoją stroną?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Imrahil
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Tak, spamuje swoją stroną dotyczącą muzyki jazzowej na forum dla programistów. Znam na szczęście lepsze metody promowania stron smile.gif

Od tego są fora, żeby pomagać w przypadku konkretnych problemów.

Wymyśliłem takie coś, jednak nie chce to działać... Czy mógłbym prosić o wskazanie co jest źle?

Kod
wydarzenie-([0-9]{1,})/?$     index.php?page_id=17&event_id=$1


Ten post edytował Imrahil 6.09.2015, 20:23:29
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Tak, spamuje swoją stroną dotyczącą muzyki jazzowej na forum dla programistów. Znam na szczęście lepsze metody promowania stron
Moze ty znasz, ale cala masa spamerow, ktora zalewa to forum, najwyraźniej nie. smile.gif

Cytat
Wymyśliłem takie coś, jednak nie chce to działać... Czy mógłbym prosić o wskazanie co jest źle?
No ale pokaz caly kod, a nie jakis kawalek wyrwany z konktekstu... Bo to co pokazales nie ma prawa dzialac w takiej postaci wiec zakladam ze wyciales kawalek. No i zakladam, ze dales to do pliku .htaccess ?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Imrahil
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Strona jest na wordpressie, a regułę pisałem za pośrednictwem wtyczki Rewrite zatem jest to w zasadzie cały kod.



Nie wiem czy jest to w jakiś sposób istotne, ale wpisanie URL xyz.pl/index.php?page_id=17&event_id=11 przekierowuje na adres xyz.pl/koncerty.html?event_id=11

Ten post edytował Imrahil 6.09.2015, 21:30:48
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale ty chciales przekierowywac
koncerty/wydarzenie-
a w regule dajesz
wydarzenie-


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Imrahil
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Nie ma to w sumie dla mnie aż tak dużego znaczenia która z tych form będzie ostateczną. Tamto dałem tylko jako przykład. Może być też xyz.pl/wydarzenie-11.html. Tamta zasada którą wymyśliłem nie działa natomiast w ogóle.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


musisz pokazać cały wygenerowany .htaccess
Go to the top of the page
+Quote Post
Imrahil
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Mój plik wygenerowany przez Wordpressa wygląda w ten sposób:
Kod
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress


Czy wiecie może gdzie są przechowywane te wszystkie reguły, które wyświetlają mi się we wtyczce, której screen wrzuciłem kilka postów wyżej?
Go to the top of the page
+Quote Post
thek
post
Post #10





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W tabeli wp_options poszukaj wpierw...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Imrahil
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Szukałem w tej tabeli już wcześniej i nie znalazłem:

Go to the top of the page
+Quote Post
thek
post
Post #12





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli nie ma w wp_options, to znaczy, że wtyczka zapewne ma własną tabelę, niezależną od wp_options. Ale w takim wypadku nie dorobiłem się jeszcze zdolności jasnowidzenia by Ci odpowiedzieć smile.gif

EDIT: a sprawdziłeś całą tę tabelę, czy tylko pierwszą stronę? Ogólnie poszukaj czy istnieją option_name o wartości "rewrite_rules", bo to one trzymają reguły.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Imrahil
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Tak, przejrzenie dalszych stron zdecydowanie poprawiło sytuację ;p Sory za noobowy błąd. Tylko nie wiem czy cokolwiek z tego odczytacie... Wyciąłem środkową, nieistoną część, bo post się nie mieścił...

Kod
a:161:{s:13:"feed/mfgigcal";s:23:"index.php?feed=mfgigcal";s:12:"mfgigcal.xml";s:23:"index.php?feed=mfgigcal";s:18:"sitemap_index.xml$";s:19:"index.php?sitemap=1";s:30:"([^/]+?)-sitemap([0-9]+)?.xml$";s:51:"index.php?sitemap=$matches[1]&sitemap_n=$matches[2]";s:23:"([a-z]+)?-?sitemap.xsl$";s:25:"index.php?xsl=$matches[1]";s:61:"nova_menu_item_label/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:59:"index.php?nova_menu_item_label=$matches[1]&feed=$matches[2]";s:56:"nova_menu_item_label/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:59:"index.php?nova_menu_item_label=$matches[1]&feed=$matches[2]";s:49:"nova_menu_item_label/([^/]+)/page/?([0-9]{1,})/?$";s:60:"index.php?nova_menu_item_label=$matches[1]&paged=$matches[2]";s:31:"nova_menu_item_label/([^/]+)/?$";s:42:"index.php?nova_menu_item_label=$matches[1]";s:43:"menu/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?menu=$matches[1]&feed=$matches[2]";s:38:"menu/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?menu=$matches[1]&feed=$matches[2]";s:31:"menu/(.+?)/page/?([0-9]{1,})/?$";s:44:"index.php?menu=$matches[1]&paged=$matches[2]";s:13:"menu/(.+?)/?$";s:26:"index.php?menu=$matches[1]";s:32:"item/[^/]+/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:42:"item/[^/]+/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:62:"item/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:57:"item/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:57:"item/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:25:"item/([^/]+)/trackback/?$";s:31:"index.php?item=$matches[1]&tb=1";s:33:"item/([^/]+)/page/?([0-9]{1,})/?$";s:44:"index.php?item=$matches[1]&paged=$matches[2]";s:40:"item/([^/]+)/comment-page-([0-9]{1,})/?$";s:44:"index.php?item=$matches[1]&cpage=$matches[2]";s:25:"item/([^/]+)(/[0-9]+)?/?$";s:43:"index.php?item=$matches[1]&page=$matches[2]";s:21:"item/[^/]+/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:31:"item/[^/]+/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:51:"item/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:46:"item/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:46:"item/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:53:"(bez-kategorii)/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:46:"[^/]+.html/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:46:"[^/]+.html/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:25:"wydarzenie-([0-9]{1,})/?$";s:41:"index.php?page_id=17&event_id=$matches[1]";}


Generalnie jest to chyba to samo co we wrzuconym przeze mnie screenie tylko w dużo bardziej nieczytelnej wersji...

Ten post edytował Imrahil 7.09.2015, 22:53:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:44